/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_Studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once

#include "节点数据声明.h"



API_EXPORT void f_BE_从骨节更新骨骼(S_物体* 骨);
API_EXPORT void f_BE_从骨骼更新骨节(S_物体* 骨);
API_EXPORT void f_BE_构建骨架骨骼邻接属性(S_物体* 骨骼物体, int32 父骨骼, S_骨架* 骨架);
API_EXPORT void f_BE_销毁骨架骨骼邻接属性(S_骨架* 骨架);

API_EXPORT void f_OE_构建骨骼(S_物体* 骨架, S_物体* 骨节);

//void f_OE_编辑骨节变换生成(S_物体* 骨节物体);


API_EXPORT void f_node_BE_从骨节设置骨骼(S_物体* 根骨骼, S_物体* 骨节, const vec4& 父骨骼旋转, const float32 父骨骼长度);
API_EXPORT void f_node_BE_从骨节设置骨骼(S_物体* 骨架);
API_EXPORT vec3 f_node_BE_对称骨骼(S_物体* 当前骨骼, const vec3& s, const vec3& 中心坐标);
API_EXPORT void f_node_BE_对称骨骼(S_物体* 根骨骼, S_物体* 骨节, const vec4& 父骨骼旋转, const float32 父骨骼长度);
API_EXPORT void f_node_BE_对称骨架(S_物体* 骨架);
API_EXPORT void f_node_BE_从骨节更新骨骼(S_物体* 骨架);
API_EXPORT void f_node_BE_更新骨骼网格属性(S_物体* 骨架);
API_EXPORT void f_node_BE_设置骨骼绘制模式(S_物体* 骨架);

API_EXPORT void f_node_BE_get骨骼IK(std::vector<S_骨骼IK*>& IK, S_物体* 骨骼);




